package main

import (
	"fmt"
	"reflect"
)

type stu struct {
	name string
}

/**
Go 中，函数类型只和参数 与 返回值相关
*/
func main() {
	a := stu{name: "eggo"}
	fmt.Println(a.Name())
	fmt.Println(stu.Name(a))

	t1 := reflect.TypeOf(stu.Name)
	t2 := reflect.TypeOf(nameOfA)
	fmt.Println(t1)
	fmt.Println(t2)
	fmt.Println(t1 == t2)
}

func (s stu) Name() string {
	s.name = "hi! " + s.name
	return s.name
}
func nameOfA(s stu) string {
	s.name = "hi! " + s.name
	return s.name
}
